package org.jaaksi.customviewdemo.view

import android.content.Context
import android.os.Parcelable
import android.util.AttributeSet
import android.widget.EditText
import androidx.appcompat.widget.AppCompatEditText

class TestRestoreView(context: Context, attrs: AttributeSet?) : AppCompatEditText(context, attrs) {

    init {
        println(">> init")
    }


    override fun onSaveInstanceState(): Parcelable? {
        println(">> onSaveInstanceState")
        return super.onSaveInstanceState()
    }

    override fun onRestoreInstanceState(state: Parcelable?) {
        println(">> onRestoreInstanceState")
        super.onRestoreInstanceState(state)
    }

    override fun onAttachedToWindow() {
        super.onAttachedToWindow()
        println(">> onAttachedToWindow")
        // todo 如果我们有逻辑是在view初始化的时候就设置数据，那么最好是在这里设置，
        //  如果有onRestoreInstanceState的场景，我们在init里执行的数据会被系统恢复给覆盖掉，这个方法执行onRestoreInstanceState之后，可以避免被覆盖
    }
}